let qqFaceMap = {
    '[微笑]': '0',
    '[撇嘴]': '1',
    '[色]': '2',
    '[发呆]': '3',
    '[得意]': '4',
    '[流泪]': '5',
    '[害羞]': '6',
    '[闭嘴]': '7',
    '[睡]': '8',
    '[大哭]': '9',
    '[尴尬]': '10',
    '[发怒]': '11',
    '[调皮]': '12',
    '[呲牙]': '13',
    '[惊讶]': '14',
    '[难过]': '15',
    '[酷]': '16',
    '[冷汗]': '17',
    '[囧]': '17',
    '[抓狂]': '18',
    '[吐]': '19',
    '[偷笑]': '20',
    '[可爱]': '20',
    '[愉快]': '21',
    '[白眼]': '22',
    '[傲慢]': '23',
    '[饥饿]': '24',
    '[困]': '25',
    '[惊恐]': '26',
    '[流汗]': '27',
    '[憨笑]': '28',
    '[悠闲]': '29',
    '[大兵]': '29',
    '[奋斗]': '30',
    '[咒骂]': '31',
    '[疑问]': '32',
    '[嘘]': '33',
    '[晕]': '34',
    '[疯了]': '35',
    '[折磨]': '35',
    '[衰]': '36',
    '[骷髅]': '37',
    '[敲打]': '38',
    '[再见]': '39',
    '[擦汗]': '40',
    '[抠鼻]': '41',
    '[鼓掌]': '42',
    '[糗大了]': '43',
    '[坏笑]': '44',
    '[左哼哼]': '45',
    '[右哼哼]': '46',
    '[哈欠]': '47',
    '[鄙视]': '48',
    '[委屈]': '49',
    '[快哭了]': '50',
    '[阴险]': '51',
    '[亲亲]': '52',
    '[吓]': '53',
    '[可怜]': '54',
    '[菜刀]': '55',
    '[西瓜]': '56',
    '[啤酒]': '57',
    '[篮球]': '58',
    '[乒乓]': '59',
    '[咖啡]': '60',
    '[饭]': '61',
    '[猪头]': '62',
    '[玫瑰]': '63',
    '[凋谢]': '64',
    '[嘴唇]': '65',
    '[示爱]': '65',
    '[爱心]': '66',
    '[心碎]': '67',
    '[蛋糕]': '68',
    '[闪电]': '69',
    '[炸弹]': '70',
    '[刀]': '71',
    '[足球]': '72',
    '[瓢虫]': '73',
    '[便便]': '74',
    '[月亮]': '75',
    '[太阳]': '76',
    '[礼物]': '77',
    '[拥抱]': '78',
    '[强]': '79',
    '[弱]': '80',
    '[握手]': '81',
    '[胜利]': '82',
    '[抱拳]': '83',
    '[勾引]': '84',
    '[拳头]': '85',
    '[差劲]': '86',
    '[爱你]': '87',
    '[NO]': '88',
    '[OK]': '89',
    '[爱情]': '90',
    '[飞吻]': '91',
    '[跳跳]': '92',
    '[发抖]': '93',
    '[怄火]': '94',
    '[转圈]': '95',
    '[磕头]': '96',
    '[回头]': '97',
    '[跳绳]': '98',
    '[投降]': '99',
    '[激动]': '100',
    '[乱舞]': '101',
    '[献吻]': '102',
    '[左太极]': '103',
    '[右太极]': '104'
};

let qqFaceMap2 = {
    '[嘿哈]': '8',
    '[捂脸]': '9',
    '[奸笑]': '10',
    '[机智]': '11',
    '[皱眉]': '12',
    '[耶]': '13',
    '[鸡]': '20',
    '[红包]': '19'
};

let emojiMap = {
    '\\ue415': '0',
    '%uD83D%uDE04': '0', // 笑脸
    '\\ue40C': '1',
    '%uD83D%uDE37': '1', // 生病
    '\\ue412': '2',
    '%uD83D%uDE02': '2', // 破涕为笑
    '\\ue409': '3',
    '%uD83D%uDE1D': '3', // 吐舌
    '\\ue40D': '4',
    '%uD83D%uDE33': '4', // 脸红
    '\\ue107': '5',
    '%uD83D%uDE31': '5', // 恐惧
    '\\ue403': '6',
    '%uD83D%uDE14': '6', // 失望
    '\\ue40E': '7',
    '%uD83D%uDE12': '7', // 无语
    '\\ue11B': '14',
    '%uD83D%uDC7B': '14', // 鬼魂
    '\\ue41D': '15', // 合十
    '\\ue14C': '16',
    '%uD83D%uDCAA': '16', // 强壮
    '\\ue312': '17',
    '%uD83C%uDF89': '17', // 庆祝
    '\\ue112': '18',
    '%uD83C%uDF81': '18', // 礼物
    '%uD83D%uDE0A': '21', // 开心
    '%uD83D%uDE03': '22', // 大笑
    '%u263A': '23', // 热情
    '%uD83D%uDE09': '24', // 眨眼
    '%uD83D%uDE0D': '25', // 色
    '%uD83D%uDE18': '26', // 接吻
    '%uD83D%uDE1A': '27', // 亲吻
    '%uD83D%uDE01': '28', // 露齿笑
    '%uD83D%uDE0C': '29', // 满意
    '%uD83D%uDE1C': '30', // 戏弄
    '%uD83D%uDE0F': '31', // 得意
    '%uD83D%uDE13': '32', // 汗
    '%uD83D%uDE1E': '33', // 低落
    '%uD83D%uDE16': '34', // 呸
    '%uD83D%uDE25': '35', // 焦虑
    '%uD83D%uDE30': '36', // 担心
    '%uD83D%uDE28': '37', // 震惊
    '%uD83D%uDE2B': '38', // 悔恨
    '%uD83D%uDE23': '38', // 悔恨
    '%uD83D%uDE22': '39', // 眼泪
    '%uD83D%uDE2D': '40', // 哭
    '%uD83D%uDE32': '41', // 晕
    '%uD83D%uDE35': '41', // 晕
    '%uD83D%uDE20': '42', // 心烦
    '%uD83D%uDE21': '43', // 生气
    '%uD83D%uDE2A': '44', // 睡觉
    '%uD83D%uDC7F': '45', // 恶魔
    '%uD83D%uDC7D': '46', // 外星人
    '%u2764': '47', // 心
    '%uD83D%uDC94': '48', // 心碎
    '%uD83D%uDC98': '49', // 丘比特
    '%u2728': '50', // 闪烁
    '%uD83C%uDF1F': '51', // 星星
    '\\ue021': '52', // 叹号
    '%u2755': '52', // 叹号
    '%u2754': '53', // 问号
    '%uD83D%uDCA4': '54', // 睡着
    '%uD83D%uDCA6': '55', // 水滴
    '%uD83C%uDFB5': '56', // 音乐
    '%uD83D%uDD25': '57', // 火
    '%uD83D%uDCA9': '58', // 便便
    '%uD83D%uDC4D': '59', // 强
    '%uD83D%uDC4E': '60', // 弱
    '%uD83D%uDC4A': '61', // 拳头
    '%u270C': '62', // 胜利
    '%uD83D%uDC46': '63', // 上
    '%uD83D%uDC47': '64', // 下
    '%uD83D%uDC49': '65', // 右
    '%uD83D%uDC48': '66', // 左
    '%u261D': '67', // 第一
    '%uD83D%uDC8F': '68', // 吻
    '%uD83D%uDC91': '69', // 热恋
    '%uD83D%uDC66': '70', // 男孩
    '%uD83D%uDC67': '71', // 女孩
    '%uD83D%uDC69': '72', // 女士
    '%uD83D%uDC68': '73', // 男士
    '%uD83D%uDC7C': '74', // 天使
    '%uD83D%uDC80': '75', // 骷髅
    '%uD83D%uDC8B': '76', // 红唇
    '%u2600': '77', // 太阳
    '%u2614': '78', // 下雨
    '%u2601': '79', // 多云
    '%u26C4': '80', // 雪人
    '%uD83C%uDF19': '81', // 月亮
    '%u26A1': '82', // 闪电
    '%uD83C%uDF0A': '83', // 海浪
    '%uD83D%uDC31': '84', // 猫
    '%uD83D%uDC36': '85', // 小狗
    '%uD83D%uDC2D': '86', // 老鼠
    '%uD83D%uDC39': '87', // 仓鼠
    '%uD83D%uDC30': '88', // 兔子
    '%uD83D%uDC3A': '89', // 狗
    '%uD83D%uDC38': '90', // 青蛙
    '%uD83D%uDC2F': '91', // 老虎
    '%uD83D%uDC28': '92', // 考拉
    '%uD83D%uDC3B': '93', // 熊
    '%uD83D%uDC37': '94', // 猪
    '%uD83D%uDC2E': '95', // 牛
    '%uD83D%uDC17': '96', // 野猪
    '%uD83D%uDC35': '97', // 猴子
    '%uD83D%uDC34': '98', // 马
    '%uD83D%uDC0D': '99', // 蛇
    '%uD83D%uDC26': '100', // 鸽子
    '%uD83D%uDC14': '101', // 鸡
    '%uD83D%uDC27': '102', // 企鹅
    '%uD83D%uDC1B': '103', // 毛虫
    '%uD83D%uDC19': '104', // 章鱼
    '%uD83D%uDC20': '105', // 鱼
    '%uD83D%uDC33': '106', // 鲸鱼
    '%uD83D%uDC2C': '107', // 海豚
    '%uD83C%uDF39': '108', // 玫瑰
    '%uD83C%uDF3A': '109', // 花
    '%uD83C%uDF34': '110', // 棕榈树
    '%uD83C%uDF35': '111', // 仙人掌
    '%uD83D%uDC9D': '112', // 礼盒
    '%uD83C%uDF83': '113', // 南瓜灯
    '%uD83C%uDF85': '114', // 圣诞老人
    '%uD83C%uDF84': '115', // 圣诞树
    '%uD83D%uDD14': '116', // 铃
    '%uD83C%uDF88': '117', // 气球
    '%uD83D%uDCBF': '118', // CD
    '%uD83D%uDCF7': '119', // 相机
    '%uD83C%uDFA5': '120', // 录像机
    '%uD83D%uDCBB': '121', // 电脑
    '%uD83D%uDCFA': '122', // 电视
    '%u260E': '123', // 电话
    '%uD83D%uDD13': '124', // 解锁
    '%uD83D%uDD12': '125', // 锁
    '%uD83D%uDD11': '126', // 钥匙
    '%uD83D%uDD28': '127', // 成交
    '%uD83D%uDCA1': '128', // 灯泡
    '%uD83D%uDCEB': '129', // 邮箱
    '%uD83D%uDEC0': '130', // 浴缸
    '%uD83D%uDCB0': '131', // 钱
    '%uD83D%uDCA3': '132', // 炸弹
    '%uD83D%uDD2B': '133', // 手枪
    '%uD83D%uDC8A': '134', // 药丸
    '%uD83C%uDFC8': '135', // 橄榄球
    '%uD83C%uDFC0': '136', // 篮球
    '%u26BD': '137', // 足球
    '%u26BE': '138', // 棒球
    '%u26F3': '139', // 高尔夫
    '%uD83C%uDFC6': '140', // 奖杯
    '%uD83D%uDC7E': '141', // 入侵者
    '%uD83C%uDFA4': '142', // 唱歌
    '%uD83C%uDFB8': '143', // 吉他
    '%uD83D%uDC59': '144', // 比基尼
    '%uD83D%uDC51': '145', // 皇冠
    '%uD83C%uDF02': '146', // 雨伞
    '%uD83D%uDC5C': '147', // 公文包
    '%uD83D%uDC84': '148', // 口红
    '%uD83D%uDC8D': '149', // 戒子
    '%uD83D%uDC8E': '150', // 钻石
    '%u2615': '151', // 咖啡
    '%uD83C%uDF7A': '152', // 啤酒
    '%uD83C%uDF7B': '153', // 干杯
    '%uD83C%uDF78': '154', // 鸡尾酒
    '%uD83C%uDF54': '155', // 汉堡
    '%uD83C%uDF5F': '156', // 薯条
    '%uD83C%uDF5D': '157', // 意面
    '%uD83C%uDF63': '158', // 寿司
    '%uD83C%uDF5C': '159', // 面条
    '%uD83C%uDF73': '160', // 煎蛋
    '%uD83C%uDF66': '161', // 冰激凌
    '%uD83C%uDF82': '162', // 蛋糕
    '%uD83C%uDF4E': '163', // 苹果
    '%u2708': '164', // 飞机
    '%uD83D%uDE80': '165', // 火箭
    '%uD83D%uDEB2': '166', // 自行车
    '%uD83D%uDE84': '167', // 高铁
    '%u26A0': '168', // 警告
    '%uD83C%uDFC1': '169', // 旗
    '%uD83D%uDEB9': '170', // 男人
    '%uD83D%uDEBA': '171', // 女人
    '%u2B55': '172', // O
    '%u274C': '173', // X
    '%A9': '174', // 版权
    '%AE': '175', // 注册商标
    '%u2122': '176' // 商标
};
let regPC = /%uD83D%uDE32|%uD83D%uDE22|%uD83D%uDE16|%u2122|%AE|%A9|%u274C|%u2B55|%uD83D%uDEBA|%uD83D%uDEB9|%uD83C%uDFC1|%u26A0|%uD83D%uDE84|%uD83D%uDEB2|%uD83D%uDE80|%u2708|%uD83C%uDF4E|%uD83C%uDF82|%uD83C%uDF66|%uD83C%uDF73|%uD83C%uDF5C|%uD83C%uDF63|%uD83C%uDF5D|%uD83C%uDF5F|%uD83C%uDF54|%uD83C%uDF78|%uD83C%uDF7B|%uD83C%uDF7A|%u2615|%uD83D%uDC8E|%uD83D%uDC8D|%uD83D%uDC84|%uD83D%uDC5C|%uD83C%uDF02|%uD83D%uDC51|%uD83D%uDC59|%uD83C%uDFB8|%uD83C%uDFA4|%uD83D%uDC7E|%uD83C%uDFC6|%u26F3|%u26BE|%u26BD|%uD83C%uDFC0|%uD83C%uDFC8|%uD83D%uDC8A|%uD83D%uDD2B|%uD83D%uDCA3|%uD83D%uDCB0|%uD83D%uDEC0|%uD83D%uDCEB|%uD83D%uDCA1|%uD83D%uDD28|%uD83D%uDD11|%uD83D%uDD12|%uD83D%uDD13|%u260E|%uD83D%uDCFA|%uD83D%uDCBB|%uD83C%uDFA5|%uD83D%uDCF7|%uD83D%uDCBF|%uD83C%uDF88|%uD83C%uDF89|%uD83D%uDD14|%uD83C%uDF81|%uD83C%uDF84|%uD83C%uDF85|%uD83D%uDC7B|%uD83C%uDF83|%uD83D%uDC9D|%uD83C%uDF35|%uD83C%uDF34|%uD83C%uDF3A|%uD83C%uDF39|%uD83D%uDC2C|%uD83D%uDC33|%uD83D%uDC20|%uD83D%uDC19|%uD83D%uDC1B|%uD83D%uDC27|%uD83D%uDC14|%uD83D%uDC26|%uD83D%uDC0D|%uD83D%uDC34|%uD83D%uDC35|%uD83D%uDC17|%uD83D%uDC2E|%uD83D%uDC37|%uD83D%uDC3B|%uD83D%uDC28|%uD83D%uDC2F|%uD83D%uDC38|%uD83D%uDC3A|%uD83D%uDC30|%uD83D%uDC39|%uD83D%uDC2D|%uD83D%uDC36|%uD83D%uDC31|%uD83C%uDF0A|%u26A1|%uD83C%uDF19|%u26C4|%u2601|%u2614|%u2600|%uD83D%uDC8B|%uD83D%uDC80|%uD83D%uDC7C|%uD83D%uDC68|%uD83D%uDC69|%uD83D%uDC67|%uD83D%uDC66|%uD83D%uDC91|%uD83D%uDC8F|%uD83D%uDCAA|%u261D|%uD83D%uDC48|%uD83D%uDC47|%uD83D%uDC49|%uD83D%uDC46|%u270C|%uD83D%uDC4A|%uD83D%uDC4E|%uD83D%uDC4D|%uD83D%uDCA9|%uD83D%uDD25|%uD83C%uDFB5|%uD83D%uDCA6|%uD83D%uDCA4|%u2754|%u2755|%uD83C%uDF1F|%u2728|%uD83D%uDC98|%u2764|%uD83D%uDC94|%uD83D%uDC7D|%uD83D%uDC7F|%uD83D%uDE37|%uD83D%uDE2A|%uD83D%uDE21|%uD83D%uDE20|%uD83D%uDE31|%uD83D%uDE35|%uD83D%uDE02|%uD83D%uDE2D|%uD83D%uDE23|%uD83D%uDE28|%uD83D%uDE30|%uD83D%uDE25|%uD83D%uDE2B|%uD83D%uDE14|%uD83D%uDE13|%uD83D%uDE0F|%uD83D%uDE12|%uD83D%uDE1E|%uD83D%uDE1D|%uD83D%uDE1C|%uD83D%uDE0C|%uD83D%uDE01|%uD83D%uDE04|%uD83D%uDE0A|%uD83D%uDE03|%u263A|%uD83D%uDE09|%uD83D%uDE0D|%uD83D%uDE18|%uD83D%uDE1A|%uD83D%uDE33/gi;

let emojisMap = {
    '0%u20E3': '1', // 1
    '1%u20E3': '2', // 2
    '2%u20E3': '3', // 3
    '3%u20E3': '4', // 4
    '4%u20E3': '5', // 5
    '5%u20E3': '6', // 6
    '6%u20E3': '7', // 7
    '7%u20E3': '8', // 8
    '8%u20E3': '9', // 9
    '\\ue303': '96', // 花
    '\\ue110': '102', // 四叶草
    '%uD83C%uDF40': '102', // 四叶草
    '9%u20E3': '10' // 10
};

let regEmoji = /%uD83C%uDF40|[0-9]%u20E3|\\ue110|\\ue303/gi;

/**
 * 解析qq表情及emoji解析
 */
function qqFaceImgMap(val) {
    // let reg5 = /\[\u9080\u8bf7\u4f60\u52a0\u5165\u7fa4\u804a\]/

    // 解析qq表情
    let reg = /\[[\u4e00-\u9fa5]{1,3}\]|\[\w{1,3}\]/gi;
    let results = val.match(reg);
    if(results) {
        for(const res of results) {
            if(qqFaceMap[res]) {
                let ii = 'qq-face-map' + ' qq-face-map-' + qqFaceMap[res];
                // val = val.replace(res, '</span><div class="' + ii + '"></div><span>')
                val = val.replace(res, '<div class="' + ii + '"></div>');
            }else if(qqFaceMap2[res]) {
                let ii2 = 'emoji-map' + ' emoji-' + qqFaceMap2[res];
                // val = val.replace(res, '</span><div class="' + ii2 + '"></div><span>')
                val = val.replace(res, '<div class="' + ii2 + '"></div>');
            }
            // let r = res.replace('[', '').replace(']', '')
            // val = val.replace(
            //   res,
            //   '<img style="width:16px;height:16px;display:inline-block;" src="' +
            //     this.phizList[r] +
            //     '" alt="" >'
            // )
        }
    }

    // 解析emoji
    let reg2 = /\\uE[\w]{3}/gi;
    let reg3 = /%ue|%uE/g;
    let reg4 = /%0A/g;
    val = escape(val).replace(reg3, '\\ue');
    val = val.replace(reg4, '<br/>');
    // console.log('解码后的text')
    // console.log(val)

    // 手机发送的emoji
    let results2 = val.match(reg2);
    if(results2) {
        // console.log('有emoji')
        // console.log(results2)
        for(const emoji of results2) {
            if(emojiMap[emoji]) {
                let ei = 'emoji-map' + ' emoji-' + emojiMap[emoji];
                val = val.replace(emoji, '<div class="' + ei + '"></div>');
            }else {
                console.log('不是emoji表情');
            }
        }
    }

    let results3 = val.match(regPC);
    if(results3) {
        // console.log('有emoji')
        // console.log(results3)
        for(const emoji of results3) {
            if(emojiMap[emoji]) {
                let ei = 'emoji-map' + ' emoji-' + emojiMap[emoji];
                val = val.replace(emoji, '<div class="' + ei + '"></div>');
            }else {
                console.log('不是emoji表情');
            }
        }
    }

    // 其他emoji
    let results4 = val.match(regEmoji);
    if(results4) {
        // console.log(results4)
        for(const emoji of results4) {
            if(emojisMap[emoji]) {
                // console.log(emojisMap[emoji])
                let ei = 'emojis-map' + ' emojis-' + emojisMap[emoji];
                // console.log(ei)
                val = val.replace(emoji, '<div class="' + ei + '"></div>');
            }else {
                console.log('不是emoji表情');
            }
        }
    }

    val = unescape(val);
    // return '<span>' + val + '</span>'
    return val;
}

export default {
    qqFaceImgMap
};
